草庐IT

C++ CreateWindowEx 返回 NULL

全部标签

c# - ConfigurationSection ConfigurationManager.GetSection() 总是返回 null

我正在尝试学习如何使用ConfigurationSection类。我曾经使用IConfigurationSectionHandler但发布它已被折旧。所以作为一个好child,我正在尝试“正确”的方式。我的问题是它总是返回null。我有一个控制台应用程序和一个DLL。classProgram{staticvoidMain(string[]args){StandardConfigSectionHandlersection=StandardConfigSectionHandler.GetConfiguration();stringvalue=section.Value;}}应用配置:DLL

c# - 如何将数据从托管程序集流式传输到 native 库并再次返回?

如何将数据(文本)从托管程序集流式传输到native库,然后将数据(文本)流式传输回托管程序集?具体来说,我想在.NET端公开某种类型的System.IO.Stream,以及(最重要的)FILE*在native端。本地方法的签名应该是:FILE*foo(FILE*bar);围绕原生p/invoke调用的包装器的签名应该是:CustomStreamfoo(CustomStreambar);我不想在native端使用回调方法(一种用于获取更多数据,一种用于设置更多数据)。我想在native端使用FILE*-以及对其进行操作的所有相关方法,例如fprintf。我不想要任何磁盘I/O。这需要在

c# - 使用SQL返回JSON字符串

这是一个“最佳实践”问题。我们正在就此主题进行内部讨论,并希望获得更广泛受众的意见。我需要将数据存储在具有常规列和行的传统MSSQLServer表中。有时我需要将DataTable返回到我的Web应用程序,而其他时候,我需要返回JSON字符串。当前,我将表返回到中间层并将其解析为JSON字符串。这似乎在大多数情况下都能很好地工作,但偶尔会在大型数据集上花费一些时间(解析数据,而不返回表)。我正在考虑修改存储过程,以有选择地返回DataTable或JSON字符串。我只需将@isJsonbit参数添加到SP。如果用户希望使用字符串而不是表,则SP将执行以下查询:DECLARE@result

c# - 返回类型和重载解析不明确的 Lambda 转换

这个问题在这里已经有了答案:Peculiaroverloadresolutionwithwhile(true)(1个回答)关闭8年前。如果我有一个lambda,例如()=>{thrownewException();},不清楚它是否有返回类型。因此,它可以(隐式)转换为Action。和Func(或任何其他Func)。这是因为,根据C#4规范的§6.5匿名函数转换:[A]delegatetypeDiscompatiblewithananonymousfunctionFprovided:…IfDhasavoidreturntypeandthebodyofFisastatementblock,

c# - 返回 List<T> 的只读包装器的哪种方式更可取?

比如说,我们有一个带有私有(private)列表的通用类。我们至少可以通过两种方式让它返回此列表的只读包装器:publicclassTest{publicListlist=newList();publicIEnumerableValues1{get{foreach(Tiinlist)yieldreturni;}}publicIEnumerableValues2{get{returnlist.AsReadOnly();}}}Values1和Values2都反射(reflect)了底层集合中的任何变化,并防止它通过自身进行修改。哪种方式更可取?应该注意什么?或者还有其他更好的方法吗?

c# - Settings.Default.<property> 始终返回默认值而不是持久存储(XML 文件)中的值

我最近用C#(.Net2.0)编写了一个DLL,其中包含一个需要IP地址的类。我的一位同事更改了类以从“.dll.config”(XML)文件中检索IP——这显然是由他创建的“应用程序设置”文件(Settings1.settings)自动生成的。这样做的好处是允许最终用户随意更改XML/config文件中的IP地址。不幸的是,当我从树中checkout他的代码并尝试编译(或使用)这个新代码时,任何调用这个DLL的应用程序只获得默认值,而不是文件中的值。调用配置文件的构造函数如下所示:publicclassform:System.Windows.Forms.Form{publicform

c# - 什么时候应该防范null?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我什么时候应该防止null参数?理想情况下,我会在任何地方都防止null,但这会变得非常臃肿和乏味。我还注意到人们并没有在AsyncCallback之类的东西中设置guard。为了避免使用大量单调的代码烦扰其他人,是否有关于我应该在何处防范null的公认标准?谢谢。

c# - 如何使用 JSON 从 WCF REST 服务返回 Base64 编码的字节数组?

我有一个简单的WCFREST方法,它将返回字节数组中的图像/文件/等:[OperationContract][WebGet(UriTemplate="TestMethod")]byte[]TestMethod();服务契约绑定(bind)到具有以下行为的webHttpBinding:该方法工作正常,除了字节数组的格式如下:[25,15,23,64,6,5,2,33,12,124,221,42,15,64,142,78,3,23]如果我删除属性defaultOutgoingResponseFormat="Json",该服务默认为XML格式,并且结果在Base64中编码如下:GQ8XQAY

c# - 使用泛型作为异步方法的返回类型

之前的一个问题让我想知道为什么下面的方法会引发编译时错误:Thereturntypeofanasyncmethodmustbevoid,TaskorTaskpublicasyncTMyMethodAsync()whereT:Task{//IrrelevantcodeherewhichreturnsaTask}因为我们在编译时知道T总是一个Task或派生类型,为什么这行不通?编辑我问的原因是方法可能返回Task或Task.假设该方法可以返回任何一个,我不想重复代码。当然这都是理论上的,并不是为了生产目的。编辑2找到LucianWischik的一篇很棒的文章:Whymustasyncret

c# - Dapper批量插入返回序列号

我试图在Npgsql上使用Dapper执行大容量插入,该插入返回新插入的行的ID。在我的两个示例中都使用了以下插入语句:varquery="INSERTINTO\"MyTable\"(\"Value\")VALUES(@Value)RETURNING\"ID\"";首先,我尝试添加具有“值”属性的对象数组:varvalues=new[]{new{Value=0.0},new{Value=0.5}};varids=connection.Query(query,values);但是,该操作失败,并显示NpgsqlException:“错误:42703:列“值”不存在”。阅读thisques